home *** CD-ROM | disk | FTP | other *** search
/ 130 MIDI Tool Box / 130 MIDI Tool Box.iso / ravelutl / scales.mh < prev    next >
Text File  |  1989-08-03  |  3KB  |  103 lines

  1. # scales.mh
  2. #
  3. # SCALE CONSTANTS
  4. #
  5. # Scales are defined by the following:
  6. # 1. a constant for the name which is used as an array index,
  7. # 2. 3 arrays. The first is used for scale size. The second and
  8. # third provide different ways of looking up a note. 
  9. # Half-tone (chromatic) offsets are used in each case.
  10. #
  11. # Each scale is defined twice; i.e., there
  12. # are two forms of offset lookup tables. 
  13. # The first table has the form of offsets in half-steps 
  14. # from the base scale note; e.g.,
  15. # a major scale consists of 0,2,4,5 for the unison, major
  16. # second and major third.
  17. # The second table has the form of offsets from the last
  18. # scale note; e.g., a major scale consists of 0,2,2.., etc.
  19. #
  20. # These two arrays are referred to as
  21. # "baseScale" and "lastScale". With the first form
  22. # the note is calculated from the base note of the scale,
  23. # e.g.,
  24. # note = C + baseScale[IONIAN][FIFTH]
  25. #
  26. # The lastScale array permits easy access of the next
  27. # scale degree from the previous, e.g.,
  28. # nextnote = lastnote + baseScale[IONIAN][curindex]
  29. #
  30. # Functions:
  31. #    riff printScale(scale) - print the string name of the scale
  32. #
  33.  
  34. # church modes 
  35. ##################################
  36. # major scale MAJOR    
  37. MAJOR   =        0
  38. IONIAN    =        1
  39. # minor, jazzy 
  40. DORIAN    =        2
  41. # good with minor, major for flamenco
  42. PHRYGIAN =         3
  43. # good with major chord
  44. LYDIAN    =        4
  45. # good with dominant 7th
  46. MIXOLYDIAN =        5
  47. # minor
  48. AEOLIAN    =        6
  49. # minor, 
  50. LOCRIAN    =        7
  51.  
  52. # classical minor
  53. ###################################
  54. PURE_MINOR =        8
  55. HARMONIC_MINOR =    9
  56. # major up in 6th and 7th , minor down
  57. MELODIC_MINOR_UP =     10
  58. MELODIC_MINOR_DOWN =     11
  59.  
  60. # altered scales
  61. ###################################
  62.  
  63. # this scale differs from the locrian in that
  64. # the "2nd" is not a minor 2nd but a major 2nd above the tonic
  65. # good with minor7b5. 
  66. LOCRIAN_ON_SECOND =    12
  67. # goes with dominant chords, especially with b5, or #11.
  68. LYDIAN_DOMINANT =    13
  69. # altered dominant or diminished-whole tone scale. Chord
  70. # would have altered 5th or 9th. Starts out diminished and
  71. # then turns into a whole tone scale.
  72. SUPER_LOCRIAN    =    14
  73. DIM        =    15
  74. # diminished, blues, note minor third, minor fifth, possibly
  75. # minor chords and flatted fifth chords.
  76. DIMWHOLE    =    16
  77. # dominant, polytonal implications, altered dominant as appropriate
  78. DIMHALF        =    17
  79. # augmented or dom b five
  80. WHOLETONE    =    18
  81. CHROMATIC    =    19
  82. # pure minor blues
  83. BLUESONE    =    20
  84. # minor and major 3rd in scale
  85. BLUESTWO    =    21
  86. # could be more bluesy scales...
  87.  
  88. # pentatonic scales
  89.  
  90. # penta and pentaionian are the same
  91. #
  92. PENTA        =     22
  93. PENTAIONIAN    =     23
  94. PENTADORIAN    =    24
  95. PENTAPHRYGIAN    =    25
  96. PENTALYDIAN    =    26
  97. PENTAAEOLIAN    =    27
  98.  
  99. NOSCALES = 28        # set to number of declared scales
  100. MAXNOTES = 15        # set to max of notes per scale 
  101.  
  102.